home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / progutil / stdwin.zoo / test / testlocalmenus.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-03-30  |  980 b   |  64 lines

  1. #include "stdwin.h"
  2.  
  3. #include <strings.h>
  4.  
  5. main(argc, argv)
  6.     char **argv;
  7. {
  8.     winitnew(&argc, &argv);
  9.     showargs(argc, argv);
  10.     localtest();
  11.     wdone();
  12. }
  13.  
  14. showargs(argc, argv)
  15.     char **argv;
  16. {
  17.     char buf[100];
  18.     char *p;
  19.     int i;
  20.     
  21.     sprintf(buf, "argc=%d", argc);
  22.     p = buf;
  23.     for (i = 0; i < argc; ++i) {
  24.         p = strchr(p, '\0');
  25.         sprintf(p, " argv[%d]=\"%s\"", i, argv[i]);
  26.     }
  27.     wmessage(buf);
  28. }
  29.  
  30. localtest()
  31. {
  32.     WINDOW *u, *v, *w;
  33.     MENU *m, *n, *o;
  34.     int wincount = 3;
  35.     
  36.     wmenusetdeflocal(1);
  37.     
  38.     m = wmenucreate(1, "Menu1");
  39.     wmenuadditem(m, "Item1", -1);
  40.     n = wmenucreate(2, "Menu2");
  41.     wmenuadditem(n, "Item2", -1);
  42.     o = wmenucreate(3, "Menu3");
  43.     wmenuadditem(o, "Item3", -1);
  44.     
  45.     u = wopen("Win1", 0L);
  46.     v = wopen("Win2", 0L);
  47.     w = wopen("Win3", 0L);
  48.     
  49.     wmenuattach(u, m);
  50.     wmenuattach(v, n);
  51.     wmenuattach(w, o);
  52.     
  53.     for (;;) {
  54.         EVENT e;
  55.         wgetevent(&e);
  56.         if (e.type == WE_COMMAND && e.u.command == WC_CLOSE) {
  57.             wclose(e.window);
  58.             --wincount;
  59.             if (wincount == 0)
  60.                 break;
  61.         }
  62.     }
  63. }
  64.